////////////////////////////////////////////////
//	File			:	"CSkillsUpgradeState.h"
//
//	Author			:	Steven Seufert (SMS)
//			
//	Last Modified	:	January 22, 2012
//
//	Purpose			:	To define the Spells Select state 
/////////////////////////////////////////////////
#ifndef CSKILLS_UPGRADE_STATE_H
#define CSKILLS_UPGRADE_STATE_H

#include "IGameState.h"

enum {SKILLSMENU_PROXMINE = 0, SKILLSMENU_REMOTEMINE, SKILLSMENU_DECOY, SKILLSMENU_BARRIER, 
	  SKILLSMENU_IMMOLATION, SKILLSMENU_FIREBALL, SKILLSMENU_FROSTSPRAY, SKILLSMENU_ICEBLAST,
	  SKILLSMENU_HEALSELF = 0, SKILLSMENU_HEALALLY, SKILLSMENU_MANAGIFT, SKILLSMENU_HEALCIRCLE,
	  SKILLSMENU_FORTIFYSELF, SKILLSMENU_FORTIFYALLY, SKILLSMENU_SPRINT, SKILLSMENU_EMPOWER,
	  SKILLSMENU_RAISEDEAD = 0, SKILLSMENU_LIFEDRAIN, SKILLSMENU_PLAGUE, SKILLSMENU_FEARSYMBOL,	
	  SKILLSMENU_BACK = 8, SKILLSMENU_FORWARD = 9, };

enum {FIRST_SELECTION, SECOND_SELECTION, THIRD_SELECTION, FOURTH_SELECTION};

enum {PAGE_ONE, PAGE_TWO, PAGE_THREE, NUM_PAGES_SPELLS_SELECTION};

class CSkillsUpgradeState : public IGameState
{
	private:
	int				m_nMenuSelectionOne;	// player one's cursor
	int				m_nMenuSelectionTwo;	// player two's cursor
	int				m_nCursorID;
	int				m_nPage;			// what page are we on?

	int				m_nSFX;
	int				m_nBGM;
	
	
	float			m_nFXVolume;
	float			m_nMusicVolume;
	float			m_nMusicPan;

	CSkillsUpgradeState( void );
	CSkillsUpgradeState( const CSkillsUpgradeState& );
	CSkillsUpgradeState& operator=( const CSkillsUpgradeState& );
	~CSkillsUpgradeState(void);

public:
	static CSkillsUpgradeState* GetInstance( void );

	void Enter(void);
	bool Input(void);
	void Update(float fElapsedTime);
	void Render(void);
	void Exit(void);

	void DrawTraps(int schoolX, int schoolY, float schoolScale, int spellsX, int spellsY, float spellsScale);
	void DrawEvocation(int schoolX, int schoolY, float schoolScale, int spellsX, int spellsY, float spellsScale);
	void DrawRestoration(int schoolX, int schoolY, float schoolScale, int spellsX, int spellsY, float spellsScale);
	void DrawTransmutation(int schoolX, int schoolY, float schoolScale, int spellsX, int spellsY, float spellsScale);
	void DrawNecromancy(int schoolX, int schoolY, float schoolScale, int spellsX, int spellsY, float spellsScale);
	void DrawPageForward(int posX, int posY, float scale);
	void DrawPageBack(int posX, int posY, float scale);
	void DrawInstructions(int posX, int posY, float scale);
};
#endif